Systems, circuits and methods for adapting parameters of a linear equalizer in a receiver

ABSTRACT

A receiver is optimized by adapting parameters of a linear equalizer component within the receiver. Data decisions and error decisions are generated. These data decision and error decisions are used to derive an error rate of data by measuring the number of margin hits that occur. A balance value is also calculated from the data decisions and the error decisions. The balance value is used to update parameters of the linear equalizer. The updating of the parameter continues until the number of margin hits has been minimized.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is related to the field of data communications,and more specifically towards systems, circuits and methods for adaptingparameters of a linear equalizer in a receiver.

2. Art Background

Electronic circuits utilize serial data transmission to transmit dataamong one or more circuits. In general, serial data transmissioninvolves transmitting bits in a single bit stream at a predetermineddata rate. The data rate is expressed as the number of bits transmittedper second (“bps”). Typically, to transfer data between circuits, thesending circuit employs a transmitter that modulates and sends datausing a local clock. The local clock provides the timing for the bitrate. The receiving circuit employs a receiver to recover the data, andin some cases, the clock. The receiver circuit recovers the serial bitstream of data by sampling the bit stream at the specified data rate.

Techniques have been developed in an attempt to optimize the performanceof a receiver in order to improve the bit error rate of the data. Forexample, current receiver optimization techniques involve changing thegain of a variable gain amplifier to reduce the bit error rate of data.Another current example involves adjusting a clock signal in order tooptimize the data decision point in the time domain. However, thesetechniques do not provide the flexibility in the optimization of othercomponents within the receiver.

Accordingly, it is highly desirable to develop a receiver withcomponents where the parameters of the components can be flexiblyadapted in response to the bit error rate of the data so that thereceiver is optimized.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features of the invention are set forth in the appendedclaims. However, for purpose of explanation, several embodiments of theinvention are set forth in the following figures.

FIG. 1 illustrates an example receiver architecture in accordance withsome embodiments of the invention.

FIG. 2 illustrates an example decision feedback equalizer in accordancewith some embodiments of the invention.

FIG. 3 illustrates a timing diagram of an example decision feedbackequalizer.

FIG. 4 illustrates an example embodiment of a variable gain amplifierand a linear equalizer with offset cancelation.

FIG. 5 illustrates an example embodiment of slicers and summers withoffset cancelation.

FIG. 6 illustrates the counting of a margin hit on a waveform.

FIG. 7 illustrates an example digital logic circuit in accordance withsome embodiments of the invention.

FIG. 8 illustrates an example of decision feedback equalizercoefficients, or taps, and corresponding adjustments.

FIG. 9 is a flow diagram illustrating one embodiment for adapting thecoefficients, or taps, of a decision feedback equalizer.

FIG. 10 is a flow diagram illustrating one embodiment for offsetcancelation of the VGA and linear equalizer.

FIG. 11 is a flow diagram illustrating an example steepest descentalgorithm that may use margin hits for adapting a parameter.

FIG. 12 is a flow diagram illustration one embodiment of a startup andcalibration sequence for a receiver.

FIG. 13 is a block diagram that illustrates one embodiment forimplementing the receiver system, circuit, and method on a singleintegrated circuit (“IC”).

FIG. 14 is a block diagram illustrating one embodiment of a networksystem that incorporates the receiver system, circuits, and methods ofthe present invention.

DETAILED DESCRIPTION

The systems, techniques and circuits disclosed herein improve receiverperformance. Specifically, the systems, techniques, and circuitsconfigure the operating parameters of components within the receiver toreduce the bit error rate of the data transmission.

A brief description of the origin and nature of inter symbolinterference (ISI) follows. Inter symbol interference is a form ofdistortion of a communication signal in which one symbol interferes withsubsequent symbols. This is undesirable as the distortion has a similareffect as noise and thus makes the communication signal less reliable.Inter symbol interference may arise from various sources throughout areceiver's path. The ISI may be reduced or offset at various points inthe receiver path.

FIG. 1 illustrates an example receiver architecture in accordance withsome embodiments of the invention. In general, the receiver 100comprises a variable gain amplifier (VGA) 102. In one embodiment, theVGA 102 receives a differential input 101 that is amplified by the VGA102. The VGA 102 provides a constant swing to the linear equalizer 103.In general, the linear equalizer provides a high-pass response to reduceinter-symbol interference (ISI) that can result from the loss of theelectrical channel. Digital decisions are then made by adecision-feedback equalizer (DFE) 104. The DFE 104 may be a 2-wayinterleaved, 4-tap adaptive DFE. The DFE 104 cancels out additionalchannel-induced ISI. The cascading of the linear equalizer 103 with theDFE 104 allows the receiver 100 to equalize a variety of electricalchannels with significant interference from past symbols, referred to aspost-cursor ISI.

The DFE 104 generates data and error decisions that are formatted byde-multiplexor 105. The decisions of edge slicers within DFE 104 areformatted by de-multiplexor 106. In some embodiments, thede-multiplexors 105 and 106 format the data, error, and edge decisionsinto parallelized 16-bit wide words. The data, error, and edge wordsfrom the de-multiplexors 105 and 106 may be used by a clock and datarecovery (CDR) circuitry.

As shown in FIG. 1, a Phase-locked loop (PLL) 107 produces clocks to apair of clock interpolators 110 and 111. For some embodiments, the PLL107 produces half-rate clocks to the clock interpolators 110 and 111. Insome embodiments, half-rate clocks may be utilized when a 2-wayinterleaved DFE architecture is used. In other embodiments, thehalf-rate clocks are generated at 5.156 GHz to 6.25 GHz, depending onthe application. The interpolators 110 and 111 produce an in-phase clocksignal for edge slicers within DFE 104 and a quadrature clock for thedata and error slicers of the DFE 104. The phase difference between thein-phase clock signal and the quadrature clock is set with a digitallycontrolled CDR offset at summer 109. When the CDR 108 is locked, thein-phase clock (clkI) aligns with the symbol edges at the output of areplica summer in DFE 104. The replica summer in the edge path of theDFE 104, discussed in more detail below, is used to match the delay ofthe data and error slicers within DFE 104. The replica summer alsobuffers the output of the linear equalizer 103 from the edge slicers inDFE 104. In some preferred embodiments, the CDR offset is set such thatthe phase difference between clkI and clkQ allows the data slicerswithin DFE 104 to sample the data bits where the bit error rate isminimized. Thus, if the eye at the output of the summers is symmetricwith respect to time, the phase difference is T_(bit)/2, where T_(bit)is the bit time. In this example embodiment, the process that sets theCDR offset is adaptive, and will adjust the CDR offset to sample the eyeat a point where the bit error rate is minimized.

The coefficients, which are adjustable via DFE taps, of the DFE 104 maybe adapted through various algorithms as described below. Error slicerscompare the amplitude of the equalized eye at the output of the DFE 104summers to a target, Δ. The data and error slicer decisions are thenused by adaptation logic to adjust the DFE 104 coefficients. The pointwhere the error slicer compares the equalized eye to Δ may also beadjusted by tuning the delay between the error slicer and data slicerclocks. In this way, the point in the equalized eye where the LMSalgorithm, or a steepest descent algorithm using margin hits, optimizescan be adjusted. Further details on the architecture, design, andoperation of the above referenced components are described below.

FIG. 2 illustrates an example embodiment of a decision-feedbackequalizer (DFE) architecture 200 used in accordance with someembodiments of the invention. In general, the DFE 200 cancels outadditional channel induced ISI. In some embodiments, the DFE 200 is a4-tap, 2-way interleaved DFE. The example 4-tap, 2-way interleaved DFE200 is split into two paths that operate at a half data rate. As shownin FIG. 2, an upper path 206 comprises a summer 201, data slicer 202,error slicer 203, and data and error re-timing delay elements 204 and205. The lower path 226 comprises a summer 221, data slicer 222, errorslicer 223, and data and error retiming delay elements 224 and 225.

As shown in FIG. 2, the upper path 206 produces data and error samplesand samples at the rising edge of the half-clock rate. The lower path226 produces data and error samples and samples at the falling edge ofthe half-clock rate. At the sampling instant for each of the upper path206 and lower path 226, the data slicer 202 or 222 decides if the outputof the corresponding summer 201 or 221 is a logical 1 or 0. At this sameinstant, the error slicer 203 or 223 compares the output of thecorresponding summer 201 or 221 with a target signal eye opening levelΔ. In this embodiment, the error decision is valid only if the datadecision is a logical 1 for slicer 203 and a logical 0 for slicer 223.This is because slicer 203 compares the input to +Δ and slicer 223compares the input with −Δ. In another embodiment, the skew for theclocks between the data slicers 202 and 222 and error slicers 203 and223 may be adjusted with a digitally-controlled delay line 230. Thus,the sampling instant of the data slicers 202 and 222 can be adjustedrelative to the sampling instant of the error slicers 203 and 223.

As shown in FIG. 2, the DFE 200 can retime the data and error decisionswith delay elements 204, 205, 224, and 225. The data and error decisionsmay be retimed and then de-multiplexed into 16-bit words byde-multiplexors 105. The data and error decisions can be used to updatethe DFE coefficients, h₁, h₂, h₃, and h₄. In some embodiments, thesecoefficients, or taps, are implemented as differential digital to analogconverters (DACs). For example, the DFE coefficients h₁, h₂, h₃, and h₄may be implemented as 6-bit, true-zero, differential DACs. Taps h₁ andh₂ may span half of the maximum full swing of the input while taps h₃and h₄ may be half of the span of h₁ and h₂.

In some embodiments the coefficients h₁, h₂, h₃, and h₄ of the DFE 200in FIG. 2 may be adapted by adaptation logic 112. In some embodiments,the adaptation logic uses a least means square (LMS) algorithm. In theseembodiments, the LMS adaptation logic configures the coefficients, ortaps, of the DFE from balances derived from the data and error decisionsof the DFE 200 through the utilization of an LMS algorithm.

In another embodiment, the coefficients h₁, h₂, h₃, and h₄ of the DFE200 are adapted by the adaptation logic through the calculation of thebit error rate by measuring margin hits and using a steepest descentalgorithm. A margin hit occurs when the data and error decisions of DFE200 differ. For example, referring to the upper path 206 in FIG. 2, ifthe data slicer 202 outputs a 1 and the error slicer 203 with offset Δreports a 0, then a margin hit has occurred. Similarly, for lower path226, a margin hit occurs if the data slicer 222 reports a 0 while theerror slicer 223 with offset −Δ reports a 1. Thus, in this embodiment,simple bit-wise operations using the 16-bit data and error decisions canbe used to derive the number of margin hits that occur. Further detailsof margin hits are described below with reference to FIG. 6.

FIG. 3 illustrates timing of the example DFE 200. In this example, theeye at the signal sum1 must be equalized when the upper path 206 issampling, but not when the lower path 226 is sampling. Similarly, theeye at the signal sum2 must be equalized when the lower path 226 issampling. The critical timing path is through the first DFE feedbacktap, h₁. The slicer decision, d₁ or d₂, must be multiplied by h₁ andsummed within a bit time T_(bit). All other feedback paths can settlewithin 2T_(bit) due to the interleaved structure of DFE 200. The swingoutput of the VGA 102 may be set between 200 mV to 400 mV peak-to-peakdifferential. The low frequency gain of the linear equalizer 103 is1-K_(LP). At the minimum VGA 102 swing setting, the maximum K_(LP) willbe constrained to 0.5. Thus, the minimum swing at the input to the DFE200 will be 100 mV peak-to peak differential. The DFE 200 swing target,Δ, must also vary as a function of K_(LP). For example, if the gainthrough the linear equalizer 103 is reduced, Δ must also be reduced. Inan example embodiment, Δ is digitally controlled. Thus, this trackingcan be implemented as a lookup table based on the setting of K_(LP).

FIG. 4 illustrates an example embodiment of a VGA and linear equalizerwith offset cancellation. The VGA 401 and linear equalizer 402 may havea differential output offset. In this embodiment, offset cancellation isdone in the current domain. Offset from the VGA 401 and the linearequalizer 402 is canceled by the Digital to Analog Converter (DAC) 403.An example of a DAC in accordance with some embodiments of the inventionis a 6-bit, current-mode DAC. The DAC 403 injects a differential currentinto the linear equalizer to cancel out the offset. The output of theDAC 403 varies as the DAC input is changed.

FIG. 5 illustrates an example embodiment of offset cancellationdistributed throughout the receiver's signal path at slicers and summerswithin the DFE. The data slicer 501, error slicer 502, and summer 503offsets are canceled with DACs 504 and 505 that inject a differentialcurrent into the slicers 501 and 502 of interleave path 506. The DACused for the slicer and summer offsets may be a 6-bit, current-mode DAC.The offset cancellation current for the error slicer may also used toproduce the equalization swing target, A. Similar offset cancellationusing DACs is also implemented for the interleave path 507 and the edgeinterleave path 508 of the DFE. As such, some example embodiments of thereceiver 100 may utilize seven DACs for offset cancellation—six for theslicers within the DFE and one at the linear equalizer output.

In operation for some example embodiments, slicer offsets are calibratedonce upon receiver startup or reset. A differential 0 is injected at thelinear equalizer output, and the output statistics of the slicers 501and 502 can be analyzed as a function of the DAC input. Offset iscalibrated when the slicers 501 and 502 produce a balanced number of 1'sand 0's. This step will cancel the offset of each slicer and the summer.These steps may be repeated for the slicers of the interleave path 507and the edge interleave path. 508

The offset from the VGA and linear equalizer is cancelled after theslicers by monitoring the margin hits between the offset-cancelled errorand data slicers. Margin hits are further explained below. As notedearlier, this technique is also used to optimally set the CDR offset.

FIG. 6 illustrates margin hits. By using data and error slicers toestimate the eye opening of the summer output 605, the CDR offset andthe offset of the VGA and linear equalizer can be calibrated. As seen inFIG. 6, the error and data slicers sample the summer output eye at twopoints 601 and 602. Ideally, the BER at the error slicer is higher thanthat of the data slicer since the error slicer is sampling the eye withan offset Δ 603. For an open eye, the data and error slicer decisionswill be the same. If the eye is open, but the eye amplitude is less thanΔ 603, the data slicer and error slicer decisions will differ. Thenumber of times this event occurs is referred to as margin hits and canbe monitored. By monitoring the consistency of the error and data slicerdecisions, the CDR offset and other parameters of components within thereceiver can be optimally set.

As shown in FIG. 6, margin hits will increase if clkI is to the left orright of the optimal sampling point 604. Sweeping the CDR offset andmeasuring margin hits can set the CDR offset to the point where thenumber of margin hits is minimal. Similarly, the offset of the VGA andlinear equalizer can be measured and cancelled by monitoring marginhits. The linear equalizer offset DAC 403 input can be swept. Thissweeping of the DAC input will shift the error sampling point 601 anddata sampling point 602 in the amplitude or y-direction. By monitoringmargin hits, an optimal offset current may be found. This exampletechnique may compensate for VCSEL amplitude symmetry, when theamplitude distribution of a 1 is broader than a 0.

Although adjusting of parameters with regard to certain components hasbeen discussed above, it should be appreciated that optimization basedon margin hits or LMS can be extended to any parameter of a component inthe receiver. For example, adaptation of the DFE coefficients throughtaps is not limited to LMS. In an alternative embodiment, margin hitsmay be used to adapt the DFE coefficients by using a steepest-descentalgorithm or other methods. In another embodiment, the gain of thevariable gained amplifier (VGA) is controlled in accordance with thesteepest descent with margin hits or LMS methods or algorithms disclosedherein. In another embodiment, the CDR offset discussed in FIG. 1 may beadapted in accordance with the steepest descent algorithm with marginhits or LMS methods or algorithms disclosed herein.

FIG. 7 illustrates an example embodiment of digital logic circuits thatmay be used in accordance with some embodiments of the invention. Theinterleaved data, error and edge decisions from the DFE are re-timed bydelay element 701 and converted into 16-bit words with custom-designeddigital circuits. In this embodiment, the de-multiplexors 702, 703, and704 convert the interleaved data, error, and edge decisions into 16-bitwords. These 16-bit words are structured such that the data, edge, anderror decision contained in location n, for n=0 . . . 15, were made atthe same sampling instant. Thus, even-indexed error and data decisionsare from the upper path 206 of FIG. 2 and odd-indexed error andodd-indexed data decisions are from the lower path 226 of FIG. 2. Eachof the 16-bit words—data, error, and edge, are then transmitted to logic705, which may be a microcontroller, digital logic circuitry, off-chipsoftware, or any other component capable of performing the algorithmsdisclosed herein. The logic 705 may calculate any or all of the marginhit count, DFE balances, slicer offset balances, and the offsetcalibration FSM.

Edge and data decisions are used by the CDR FSM of element 705 to lockthe CDR and servo the CDR so that the DFE sampling clocks track theinput data rate. Balances derived from the data and error decisions areused to update the DFE coefficients based on LMS or a steepest descentalgorithm using margin hits. Margin hits may be counted for use insetting the CDR offset, calibrate the offset of the VGA and linearoptimizer, and optimize the linear equalizer's settings.

DFE Balance Calculation:

FIG. 8 illustrates an example embodiment of DFE coefficients or taps.Coefficients h₁, h₂, h₃, and h₄ are adapted by correlating the errordecision, e(n), to past data decisions, d(n−k) for k=1 . . . 4. In oneembodiment, the taps of the DFE are adapted in accordance with thefollowing equations to update the coefficients:h ₁(n+1)=h ₁(n)+μeq(n)d(n−1)h ₂(n+1)=h ₂(n)+μeq(n)d(n−2)h ₃(n+1)=h ₃(n)+μeq(n)d(n−3)h ₄(n+1)=h ₄(n)+μeq(n)d(n−4)

In the above equations, μ, is the update gain. For illustrativepurposes, it is assumed here that e(n)={−1, +1} and d(n)={−1, +1}. Sincethe error slicer 801 in FIG. 8 compares the summer 802 output with +Δ,e(n) is only valid if d(n)=1 (data slicer 803 output). Thus, the errormust be qualified by d(n) before it is used to update the DFEcoefficients. The qualified error, eq(n) takes on values −1, +1, or 0,and is calculated as illustrated in Table 1 for +Δ and Table 2 for −Δerror slicers.

TABLE 1 e(n) d(n) eq(n) −1 −1 0 −1 +1 −1 +1 −1 0 +1 +1 +1

TABLE 2 e(n) d(n) eq(n) −1 −1 +1 −1 +1 0 +1 −1 −1 +1 +1 0

As described earlier, the data and error decisions are parallelized intogroups of 16-bits. In another embodiment, the data and error decisionsare parallelized into 24-bit data decisions and 24-bit error decisions.These parallelized groups will be referred to as the data vector d anderror vector e. According to the DFE coefficient update equations, toupdate h₁, the qualified error, eq(n), is multiplied with d(n−1). Thus,to update h₁, components 0 to 11 of the qualified error vector, eq, canbe multiplied with the components 1 to 12 of d. The products can then besummed, and the sum can be used to update h₁. Similarly, for h₂,components 0 to 11 of eq can be multiplied with components 2 to 13 of d.The sum of products for a DFE coefficient is referred to as the balancefor that coefficient. Thus, a balance, b₁, b₂, b₃, and b₄, is calculatedfor each coefficient h₁, h₂, h₃, and h₄. These balances may becalculated in accordance to the following equations:b ₁=Σ_(i=0) ¹¹ eq(i)d(i+1)={right arrow over (eq)}(0 . . . 11)·{rightarrow over (d)}(1 . . . 12)b ₂=Σ_(i=0) ¹¹ eq(i)d(i+1)={right arrow over (eq)}(0 . . . 11)·{rightarrow over (d)}(2 . . . 13)b ₃=Σ_(i=0) ¹¹ eq(i)d(i+1)={right arrow over (eq)}(0 . . . 11)·{rightarrow over (d)}(3 . . . 14)b ₄=Σ_(i=0) ¹¹ eq(i)d(i+1)={right arrow over (eq)}(0 . . . 11)·{rightarrow over (d)}(4 . . . 15)

The balance should be represented as a signed binary value. It may proveuseful to include a programmable digital filter to filter the balancesb₁, b₂, b₃, and b₄ over time so that balance dither can be tradedagainst adaptation convergence speed. The bandwidth and gain of thefilter may also be programmable.

The balances can then be used as followed to update the DFE coefficientsfor the taps:h ₁(n+1)=h ₁(n)+μb ₁h ₂(n+1)=h ₂(n)+μb ₂h ₃(n+1)=h ₃(n)+μb ₃h ₄(n+1)=h ₄(n)+μb ₄

Balances may also be filtered with a programmable IIR filter with abandwidth programmable from 50 kHz to 400 kHz.

Although a DFE with four coefficients and taps are disclosed above,those skilled in the art would understand and appreciate that a DFE ofany number of taps could be practiced in accordance with someembodiments of the invention.

FIG. 9 is a flow diagram illustrating one embodiment for adapting acoefficient, or tap, of a decision feedback equalizer. In general, thedecision feedback equalizer generates data decisions, error decisions,and edge decisions. In some embodiments, these decisions may beparallelized into 16-bit words by de-multiplexors. At block 901, thedata, error, and edge 16-bit words from the de-multiplexors are receivedat a digital computational circuit such as adaptation logic. In general,the digital computational circuit calculates and tracks circuit settingsto ensure that the receiver is properly functioning. At block 902, thedigital computational circuit calculates the bit-error rate (BER) of thedata. In some embodiments, the BER is derived from margin hits derivedfrom the data and error decisions as described above. Next, at block903, the digital computational circuit adapts the coefficients, or taps,of the DFE, as described above. In some embodiments, these taps may beadapted by means of a least means squared (LMS) algorithm. In otherembodiments, these taps may be independently adapted by means of asteepest descent algorithm, as discussed below. At block 904, thedigital computation circuit will continue an iteration of the previoussteps until optimal performance and a minimum bit error rate isachieved. These iterations may be performed under a steepest descentalgorithm. In other embodiments, these iterations may utilize an LMSalgorithm. These steps 901, 902, 903, and 904 may be performed on anynumber of the taps of the DFE to update the corresponding coefficients.

Offset Balance Calculation:

As described above with reference to FIG. 3, the data, error, and edgeslicers are calibrated with a DAC converter that injects a differentialcurrent into the linear equalizer. The number of 1's and 0's at theslicer outputs are monitored as the slicer offset currents are swept.The calibration stops when the slicers output an equal number of 1's and0's. An offset balance is maintained for each slicer. The even-indexedbits from the 16-bit data and error decision vectors are decisions fromthe data and error slicers in the upper path 206 of FIG. 2. Similarly,decisions from the data and error slicers in lower path 226 of FIG. 2are taken from the odd-indexed bits from the 16-bit data and errordecision vector. Thus, the balances for the data, error, and edgeslicers are calculated as follows:Data Slicer Balance (upper path)=sum(data[i]), for i=0, 2, 4, 6, . . .Error Slicer Balance (upper path)=sum(error[i]), for i=0, 2, 4, 6, . . .Data Slicer Balance (lower path)=sum(data[i]), for i=1, 3, 5, 7, . . .Error Slicer Balance (lower path)=sum(error[i]), for i=1, 3, 5, 7, . . .Edge Slicer 1 Balance=sum(edge[i]), for i=1, 3, 5, 7, . . .Edge Slicer 2 Balance=sum(edge[i]), for i=1, 3, 5, 7, . . .

The slicer calibration DAC input is swept while the corresponding slicerbalance is monitored. A programmable digital filter may be used tofilter the balances over time so that balance dither can be tradedagainst calibration convergence speed. The bandwidth of the filter isprogrammable at, for example, 50 kHz, 100 kHz, 200 kHz, or 400 kHz.Logic 705 of FIG. 7, such as an on-chip microcontroller, can beprogrammed to calibrate the slicer offsets using the offset balances.

FIG. 10 is a flow diagram illustrating one embodiment for offsetcancelation of the VGA and linear equalizer. As described above, a DACinjects a differential current into the linear equalizer. At block 1001,data decisions and error decisions are received. At block 1002, thenumber of margin hits is derived from the data decisions and the errordecisions. These data decisions and error decisions may be from theoutputs of the slicers of the DFE. At block 1003, the DAC input ischanged or swept across a range of input values. In some embodiments,the DAC input may be incremented or decremented a particular step sizeor amount. At block 1004, the sweeping, incrementing, decrementing orchange of the DAC input is halted when the number of margin hits hasbeen minimized. The repeating process of block 1004 may repeat thereceiving of the data and error decisions, counting the margin hits, andthe sweeping of the DAC input. This process may use an LMS algorithm ora steepest descent algorithm to minimize the number of margin hits.

FIG. 11 is a flow diagram illustrating an example steepest descentalgorithm that may use margin hits for adapting a parameter for any ofthe components discussed herein. A steepest descent algorithm is amathematical tool for numerically finding the minimum value of aparticular function. The steepest descent algorithm utilizes a gradientfunction to determine the direction in which a function is increasing ordecreasing most rapidly. Successive iterations of the steepest descentalgorithm moves along this direction for a determined step size, andthen recomputes the gradient to determine the new direction for the stepsize. At block 1101, the number of margin hits is measured. As describedabove, adaptation logic may measure the number of margin hits by usingthe data and error slicer decisions. At block 1102, the parameter isincremented up a value and decremented down a value. The number ofmargin hits for each of the incrementing and the decrementing of theparameter is measured. At block 1103, the parameter is then changed inthe direction that results in the largest, or steepest, decline in thenumber of margin hits. At block 1104, the previous steps are repeated inone or more successive iterations until the number of margin hits hasbeen minimized.

Other Details:

The linear equalizer can be adapted by monitoring the margin count whilesweeping K_(LP). The calibration stops when K_(LP) minimizes the margincount. This calibration loop can be done with the on-chipmicrocontroller or tests with off-chip software. Note that the gain ofthe linear equalizer is a function of K_(LP):G _(eq)=1/(1−K _(LP)).

Thus, the error slicer offset, Δ, must be adjusted as a function ofK_(LP). A lookup table may be used to map K_(LP) to an appropriate valuefor Δ.

The gain of the linear equalizer must also be constrained depending onthe output swing of the VGA. The minimum output swing of the VGA is 200mV, differential peak-to-peak. In this case, K_(LP) should beconstrained about 0.5 to relax the offset requirements of the slicers.Thus, the minimum swing at the input to the DFE is expected to be 100 mVdifferential peak-to-peak.

Example Startup and Calibration Sequence

FIG. 12 is a flow diagram illustrating one embodiment of an examplestartup and calibration sequence 1200 for a receiver. At block 1201, theslicers are calibrated. In some embodiments, the calibration of theslicers is done through the use of the DACs. The slicer offset iscalibrated when the slicers produce a balanced number of 1's and 0's. Atblock 1202, the CDR is locked and the initial CDR offset is 0. At block1203, the coefficients or taps of the DFE are adapted by means of usingLMS balances or a steepest descent algorithm using margin hits. Next, atblock 1204, the VGA is adapted by means of LMS balances or a steepestdescent algorithm using margin hits. At block 1205, the CDR offset isadapted by using a steepest descent algorithm with margin hits. At block1206, the equalizer offset DAC is adapted using a steepest descentalgorithm with margin hits. At block 1207, the adaptation of theparameters of the DFE, VGA, CDR Offset, and Equalizer Offset DACcontinue until each of the components is independently optimized toproduce a minimal bit error rate.

FIG. 12 illustrates that the parameters of several components of areceiver may be adapted. However, one skilled in the art will recognizethat the adaptation techniques disclosed herein can be applied to anyother component with adaptable parameters. Furthermore, the examplestartup and calibration sequence of FIG. 12 can include all or anynumber of the blocks 1201, 1202, 1203, 1204, 1205, and 1206 and invarying sequence.

Application Embodiments

The systems, circuits, and methods disclosed herein may be implementedon one or more integrated circuits. FIG. 13 is a block diagramillustrating one embodiment for implementing the systems, circuits, andmethods of the present invention on a single integrated circuit. In someembodiments, a physical layer (“PHY Layer”) integrated circuit 1320 isused to define electrical and physical specifications for acommunications device 1310. As such, the PHY Layer integrated circuit1320 may define the relationship between the communications device 1310and a transmission medium 1330. The PHY Layer integrated circuit 1320may consist of the basic hardware transmission technologies of a networkand provide related functions and services. For example, the PHY Layerintegrated circuit may, but is not limited to, establish and terminate aconnection to a transmission medium 1330, modulate or convert betweenthe representation of digital data used in the communications device1310 and the corresponding signals transmitted over the transmissionmedium 1330, providing a standardized interface to the transmissionmedium 1330, line coding, bit synchronization, circuit switching,multiplexing, forward error correction, and/or bit-interleaving.

In some embodiments, the PHY Layer integrated circuit 1320 may consistof a transmitter 1350 and a receiver 1340. In general, the transmitter1350 may modulate and condition data streams for transmission over atransmission medium 1330 and the receiver 1340 may modulate andcondition data streams transmitted to the receiver 1340 over atransmission medium 1330. In some embodiments, the transmitter 1350and/or the receiver 1340 may comprise the systems, methods, and circuitsdiscussed with relation to FIGS. 2, 4, and 5. In the same or alternativeembodiments, the transmitter 1350 and/or receiver 1340 may comprise themethod discussed with relation to FIG. 12. In some embodiments, the PHYLayer integrated circuit 1320 may operate as a transceiver such that thecircuit both transmits data over the transmission medium 1330 andreceives data from the transmission medium 1330. However, in someembodiments, each of the receiver 1340 and the transmitter 1350 may beimplemented as a single integrated circuit. As such, the PHY Layerintegrated circuit 1320 may be implemented in the form of a plurality ofintegrated circuits. Moreover, the transmitter 1350 and/or the receiver1340 may each comprise IP blocks for incorporation into one or moreintegrated circuits. Although the PHY Layer integrated circuit 1320 hasbeen discussed with relation to the transmitter 1350 and receiver 1340,it should be appreciated that the PHY Layer integrated circuit 1320 maycomprise other hardware components, logical blocks, or integratedcircuits that may implement the systems, methods, and circuits disclosedherein. As such, the PHY Layer integrated circuit 1320 may comprise anycombination or number of receivers 1340, transmitters 1350, hardwarecomponents, logical blocks, and/or integrated circuits.

The transmission medium 1330 may transmit and receive data to and fromthe PHY Layer integrated circuit 1320 in order to facilitate datacommunication over a network. Examples of a transmission medium maycomprise, but are not limited to, metallic cables, fiber optic cables,and a wireless network. In some embodiments, if a metallic cable is usedas the transmission medium 1330, then the PHY Layer integrated circuit1320 may convert data received from the transmission medium 1330 intoelectrical signals. In other embodiments, if a fiber optical cable isused as the transmission medium 1330, then the PHY Layer integratedcircuit 1320 may convert data received from the transmission medium 1330into luminous signals. Similarly, in some embodiments, if a wirelessnetwork is used as the transmission medium 1330, then the PHY Layerintegrated circuit 1320 may convert data received from the transmissionmedium 1330 into electromagnetic signals. As such, in some embodiments,the PHY Layer integrated circuit 1320 receives data from thetransmission medium 1330 and converts the data into signals representingbinary 0's and 1's. This converted data may then be received by anothercomponent comprised within communications device 1310.

The PHY Layer integrated circuit 1320 may be configured to function withrelation to a variety of protocols used by the communications device1310. For example, the PHY Layer Integrated circuit 1320 may beconfigured to function with regard to an IEEE 802.3 standard such as a10 Gigabit Ethernet (10 GigE) standard. The PHY Layer integrated circuit1320 may be configured to function in conjunction with other protocols.Examples of such protocols may comprise, but are not limited to,Synchronous Optical Networking (SONET)/Synchronous Digital Hierarchy(SDH), V.92 for telephone network modems, Infrared Data Association(IrDA) Physical Layer, Universal Serial Bus (USB) Physical Layer,Recommended Standard 232 (RS-232), RS-422, RS-423, RS-449, RS-485,Ethernet Physical Layer (10Base-T, 10BASE2, 100BASE-TX, 10 GigE, etc.),802.11 Wi-Fi Physical Layers, Digital Subscriber Line (DSL), IntegratedServices Digital Network (ISDN), Optical Transport Network (OTN),Bluetooth Physical Layer, and Firewire.

In some embodiments, the PHY Layer integrated circuit 1320 may receivedata or a request from another hardware component or software modulewithin the communications device 1310. A software module or hardwarecomponent operating at a Data Link Layer may transmit data and/orrequests to the PHY Layer integrated circuit 1320. For example, the PHYLayer integrated circuit 1320 may translate logical communicationrequests from the software module or component operating at a Data LinkLayer into hardware specific operations that may affect the transmissionor reception of electronic signals over the transmission medium 1330. Assuch, in some embodiments, the PHY Layer integrated circuit 1320 maycommunicate and interact with software modules or another componentoperating at another portion or layer of a communications system. Forexample, the PHY Layer integrated circuit 1320 may communicate withanother software module or another hardware component operating withinthe Physical Layer, Data Link Layer, Network Layer, Transport Layer,Session Layer, Presentation Layer, and/or Application Layer. As such,the PHY Layer integrated circuit 1320 may be comprised within acommunications device 1310 that may also comprise other software modulesor hardware components that directly or indirectly communicate with thePHY Layer integrated circuit 1320.

As a result, in some embodiments, the PHY Layer integrated circuit 1320may receive data from a transmission medium 1330. The PHY Layerintegrated circuit 1320 may convert the data and the resulting converteddata may be used by other software modules or hardware components withinthe communications device 1310 or in a separate communications device.

The communications device 1310 may comprise a hardware componentconfigured to operate within a network environment. Examples of acommunications device 1310 that may comprise the PHY Layer integratedcircuit 1320 are, but are not limited to, a network adapter, networkinterface controller (NIC), repeater, network hub, switch, router,modem, USB controller, Serial ATA controller, SDRAM chip interface,flash memory chip interface, transceiver, or a host bus adapter (HBA).The communications device 1310 may comprise, but is not limited to,components of an optical fiber network, such as those componentsmentioned earlier or a fiber media converter, an add-drop multiplexer(ADM), reconfigurable optical add-drop multiplexers (ROADMs), aregenerator, or a digital cross connect system (DCS). As such, thecommunications device 1310 may comprise at least one hardware componentconfigured to operate within a network environment.

FIG. 14 is a block diagram illustrating an example embodiment of anetwork system 1400 that may incorporate the systems, circuits, andmethods disclosed herein. In some embodiments, one or more communicationdevices 1410, 1420, and 1430 are coupled to a network 1140 by atransmission medium 1450, 1460, or 1470. In some embodiments, thecommunication device 1410 may comprise a router coupled to one or morecomputer devices (not shown) such that the computers are coupled to thenetwork 1440 by means of the router. The router may incorporate one ormore PHY Layer integrated circuits 1320. In turn, the PHY Layerintegrated circuits may incorporate a receiver and/or a transmitter. Insome embodiments, the PHY Layer integrated circuits comprise, at leastin part, the various components discussed with relation to FIGS. 2, 4,and 5. In other embodiments, the PHY Layer integrated circuits comprise,at least in part, the method of FIG. 12.

In operation, the router 1420 may use a PHY Layer integrated circuit1320 to transmit data to communications device 1430. As such, the PHYLayer integrated circuit 1320 may be enabled to transmit data from thecommunication device 1410 over the transmission medium 1450, through thenetwork 1440, to transmission medium 1460 to communications device 1420.The communications device 1420 may also comprise a PHY Layer integratedcircuit 1320 that is configured to receive data over the transmissionmedium 1460.

Hardware Embodiments

Those of skill in the art would understand that information and signalsmay be represented using any of a variety of different technologies andtechniques. For example, data, instructions, commands, information,signals, bits, symbols, and chips that may be referenced throughout theabove description may be represented by voltages, currents,electromagnetic waves, magnetic fields or particles, optical fields orparticles, or any combination thereof.

Those of skill would further appreciate that the various illustrativelogical blocks, modules, circuits, and algorithm steps described inconnection with the embodiments disclosed herein may be implemented aselectronic hardware, computer software, or combinations of both. Toclearly illustrate this interchangeability of hardware and software,various illustrative components, blocks, modules, circuits, and stepshave been described above generally in terms of their functionality.Whether such functionality is implemented as hardware or softwaredepends upon the particular application and design constraints imposedon the overall system. Skilled artisans may implement the describedfunctionality in varying ways for each particular application, but suchimplementation decisions should not be interpreted as causing adeparture from the scope of the present invention.

The various illustrative logical blocks, modules, and circuits describedin connection with the embodiments disclosed herein may be implementedor performed with a general purpose processor, a digital signalprocessor (DSP), an application specific integrated circuit (ASIC), afield programmable gate array (FPGA) or other programmable logic device,discrete gate or transistor logic, discrete hardware components, or anycombination thereof designed to perform the functions described herein.A general-purpose processor may be a microprocessor, but in thealternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, a plurality of microprocessors, one ormore microprocessors in conjunction with a DSP core, or any other suchconfiguration.

The steps of a method or algorithm described in connection with theembodiments disclosed herein may be embodied directly in hardware, in asoftware module executed by a processor, or in a combination of the two.A software module may reside in RAM memory, flash memory, ROM memory,EPROM memory, EEPROM memory, registers, hard disk, a removable disk, aCD-ROM, or any other form of storage medium known in the art. Anexemplary storage medium is coupled to the processor such the processorcan read information from, and write information to, the storage medium.In the alternative, the storage medium may be integral to the processor.The processor and the storage medium may reside in an ASIC. The ASIC mayreside in a user terminal (presumably previously defined broadly). Inthe alternative, the processor and the storage medium may reside asdiscrete components in a user terminal.

The previous description of the disclosed embodiments is provided toenable any person skilled in the art to make or use the presentinvention. Various modifications to these embodiments will be readilyapparent to those skilled in the art, and the generic principles definedherein may be applied to other embodiments without departing from thespirit or scope of the invention. Thus, the present invention is notintended to be limited to the embodiments shown herein but is to beaccorded the widest scope consistent with the principles and novelfeatures disclosed herein.

What is claimed is: Zone Name: a1,AMD,M
 1. A method for offsetcancellation of a linear equalizer in a receiver, comprising: receivinga plurality of data decisions and a plurality of error decisions;determining a number of margin hits based on the data decisions and theerror decisions, wherein a margin hit indicates that one of the datadecisions differs from one of the error decisions; and sweeping an inputof a digital to analog converter (DAC) coupled to the linear equalizerby varying the input of the DAC and injecting an output of the DAC intothe linear equalizer until the number of margin hits is minimized. 2.The method of claim 1, wherein the sweeping of the input comprises asteepest descent algorithm.
 3. The method of claim 2, wherein thesteepest descent algorithm comprises a gradient function to determine adirection of the input of the DAC which decreases the number of marginhits most rapidly.
 4. The method of claim 1, wherein the DAC comprises a6-bit current-mode digital to analog converter.
 5. The method of claim1, wherein the sweeping of the input of the DAC is controlled by amicrocontroller.
 6. The method of claim 1, wherein the sweeping of theinput of the DAC is controlled by off-chip software.
 7. The method ofclaim 1, wherein the output of the DAC comprises a differential current.8. The method of claim 1, wherein the plurality of data decisions aregenerated from data slicers that decide if an output of a summer is alogical 1 or a logical
 0. 9. The method of claim 8, where in theplurality of error decisions are generated from error slicers thatcompare the output of the summer with a target signal eye opening level.10. A system comprising: a decision feedback equalizer configured togenerate a plurality of data decisions and a plurality of errordecisions; a logic module configured to determine a number of marginhits based on the data decisions and the error decisions, wherein amargin hit indicates that one of the data decisions differs from one ofthe error decisions; and a digital to analog converter (DAC) coupled toa linear equalizer, wherein an input of the DAC is swept by varying theinput of the DAC and injecting an output of the DAC into the linearequalizer until the number of margin hits-is minimized.
 11. The systemof claim 10, wherein the sweeping of the input comprises a steepestdescent algorithm.
 12. The system of claim 11, wherein the steepestdescent algorithm comprises a gradient function to determine a directionof the input of the DAC which decreases the number of margin hits mostrapidly.
 13. The system of claim 10, wherein the DAC comprises a 6-bitcurrent-mode digital to analog converter.
 14. The system of claim 10,wherein the logic module comprises a microcontroller.
 15. The system ofclaim 10, wherein the logic module comprises off-chip software.
 16. Thesystem of claim 11, wherein the output of the DAC comprises adifferential current.
 17. The system of claim 10, wherein the pluralityof data decisions are generated from data slicers that decide if anoutput of a summer is a logical 1 or a logical
 0. 18. The system ofclaim 17, wherein the plurality of error decisions are generated fromerror slicers that compare the output of the summer with a target signaleye opening level.
 19. A method for optimization of a linear equalizerin a receiver, comprising: receiving a plurality of data decisions and aplurality of error decisions; determining a number of margin hits,wherein a margin hit indicates that one of the data decisions differsfrom one of the error decisions; and sweeping a gain value of the linearequalizer until the number of margin hits is minimized.
 20. The methodof claim 19, wherein the sweeping of the gain value is performed by amicrocontroller.
 21. The method of claim 19, wherein the gain value isconstrained by an output swing of a variable gain amplifier (VGA)coupled to the linear equalizer.
 22. The method of claim 19, wherein thesweeping of the gain value uses a steepest descent algorithm.
 23. Themethod of claim 22, wherein the steepest descent algorithm uses agradient function to determine a direction of the sweeping of the gainvalue which decreases the number of margin hits most rapidly.
 24. Themethod of claim 19, wherein the sweeping of the gain value is performedby off-chip software.
 25. The method of claim 19, wherein the pluralityof data decisions are generated from data slicers that decide if anoutput of a summer is a logical 1 or a logical
 0. 26. The method ofclaim 25, wherein the plurality of error decisions are generated fromerror slicers that compare the output of the summer with a target signaleye opening level.